OpenAPI Generator
OpenAPIドキュメントからOpenAPI Generatorでサーバーコード生成
公式では python-aiohttp, python-blueplanet, python-flask が用意されている
FastAPI用の というのを見つけた
DRF用のジェネレータはなさそう
公式サイト https://github.com/OpenAPITools/openapi-generator#overview
テンプレートファイルは、mustacheフォーマットで記載されている
Swagger CodeGenは非推奨 by Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
参考
OpenAPI GeneratorでPythonのクライアントライブラリを作成した - Qiita
以下のコマンドを実行すれば、outディレクトリにPythonのクライアントライブラリが生成されます。
code:shell
$ docker run --rm -u id -u:id -g -v ${PWD}:/local openapitools/openapi-generator-cli generate --input-spec /local/qiita.yaml --generator-name python --output /local/out
OpenAPI Generatorは、テンプレートファイルを修正してカスタマイズできます。詳細は https://openapi-generator.tech/docs/templating を参照してください。
OpenAPI generatorを試してみる - Qiita
OpenAPI generatorは先程述べたメリットの3番目、OpenAPI Specificationを元にクライアントやサーバのコードを生成するソフトウェアです。
もともとSwaggerの時代からSwagger CodeGenとしてコード生成のツールは提供されており今でも利用可能なのですが、どうも開発者同士で反りが合わなかったらしくコミュニティ主導のツールとしてOpenAPI Specificationは誕生しました。
OpenAPI generatorの開発者がそのあたりの経緯を書いています。(日本語)
https://ackintosh.github.io/blog/2018/05/12/openapi-generator/
私が2018年9月頃にSwagger CodeGenを触った感触でやはりSwagger CodeGenはOpenAPI Specification v3.0への対応が遅れていると感じたため、2019年3月現時点でもOASv3.0を利用する場合は様々な言語に対応しているOpenAPI generatorを利用するのが良さそうです。